The present application generally relates to systems and methods for prioritizing packets using the destination media access control (MAC) address from the packet.
The central processing unit (CPU) of a network device, such as a computer, router or Level 3 (L3) switch, can become burdened when the network device receives too much traffic (e.g., packets), such as in a denial of service (DoS) attack, or when the network device receives complicated traffic that requires extra processing by the CPU. When the CPU is burdened with too much traffic or complicated traffic, the CPU may not be able to process all of the traffic being sent to the network device, which may result in indiscriminate dropping of the traffic by the CPU, i.e., the CPU does not know what traffic is being discarded or not processed by the CPU. For instance, service providers or network administrators would like the ability to access the network device being burdened with too much traffic or complicated traffic to debug and modify the configuration of the network device to relieve the burden on the CPU.
One way to respond to a network device being burdened is to prioritize management or other high priority traffic, such as Telnet or Secure Shell (SSH) traffic, over the other traffic that may be causing the high CPU burden to permit the network device to respond to the management traffic. Many solutions to the burdened CPU problem involve the use of input quality of service (QOS) techniques in the receiving hardware to classify and queue traffic (in multiple ingress queues) before providing the prioritized traffic to the CPU. However, many network devices do not have Ethernet interfaces with QOS functionality in hardware to classify and prioritize “management traffic” over other traffic which might be bogging down the CPU.